--[[ 编码: JX-20-13 名称: 显示前 作者:HAN 日期:2025-1-29 入口函数:BeforeGridShow 功能说明: 控制行按钮显示 --]] json = require ("json") mobox = require ("OILua_JavelinExt") m3 = require("oi_base_mobox") function BeforeGridShow ( strLuaDEID ) local nRet, strRetInfo local cntr_objs local n, nCount local bs_state_name = {"","组盘","执行","入库完成"} nRet, cntr_objs = m3.GetSysDataJson( strLuaDEID ) if ( nRet ~=0 ) then lua.Error( strLuaDEID, debug.getinfo(1), cntr_objs ) end nCount = #cntr_objs if (nCount == 0) then return end local obj local row_data_set = {} local bs_state local wave_no strDataJson = '[' for n = 1, nCount do local row_item = {} obj = cntr_objs[n] row_item.id = obj.id row_item.attrs = {} row_item.row_button_hidden = "取消呼出;空料箱呼出" wave_no = '' -- 获取 项目清单 对象属性 for nIndex = 1, #obj.attrs do local attr_value = {} attr_value.attr = obj.attrs[nIndex].attr attr_value.value = obj.attrs[nIndex].value if ( attr_value.attr == 'N_B_STATE' ) then bs_state = lua.StrToNumber( attr_value.value ) attr_value.value = bs_state_name[bs_state+1] if ( bs_state == 0 ) then row_item.row_button_hidden = "取消呼出" elseif ( bs_state > 0 ) then row_item.row_button_hidden = "空料箱呼出" end elseif ( attr_value.attr == 'S_WAVE_NO' ) then wave_no = attr_value.value end table.insert( row_item.attrs, attr_value ) end if ( wave_no ~= '' ) then row_item.row_button_hidden = "取消呼出;空料箱呼出" end table.insert( row_data_set, row_item) end local action = {} action[1] = { action_type = "reset_data_attr", value = row_data_set } nRet, strRetInfo = mobox.setAction(strLuaDEID, lua.table2str(action)) if ( nRet ~= 0 ) then lua.Error( strLuaDEID, debug.getinfo(1), "setAction错误: "..strRetInfo) end end